package com.aqie.rabbit.service;

import com.aqie.rabbit.bean.db.User;
import org.springframework.dao.DataAccessException;

import java.util.List;

public interface IUserService {
    String COOKIE_NAME_TOKEN = "token";

    User findById(String id);

    // 连表

    User getFollowing(String id);

    User getFollower(String id);

    int getFollowingNum(String id);

    User findByPhone(String phone);

    User findByName(String name);


    // 查询除去自己的 绑定pushId的用户列表 (防止推送混乱)
    List<User> findUserListByPushId(User user,String pushId);

    User findByToken(String token);

    // 更新用户信息
    User update(User user) throws DataAccessException;

    // 查询用户关注人列表
    List<User> contact(String id);


    // 关注某人
    User follow(final User origin,final User target, final String alias);

    // 获取默认信息
    User getUser();

    // 搜索 like模糊查询, 头像和描述必须完善 最多20条
    List<User> search(String name, String id);
}
